This invention relates to modems and, more particularly, to a modem implementation that can maintain an acceptable analog line signal during an underrun condition.
Voice-band modems are typically implemented in software, with the software executing on a digital signal processor (DSP), a microprocessor, or a combination of the two. The modem itself is usually viewed as two distinct functional piecesxe2x80x94the controller and the data-pump. The controller performs functions including link-layer protocols, data compression, and provides the Data Communications Equipment (DCE) interface functions. The data-pump performs the modulation/demodulation function, translating binary information into a signal suitable for transmission over the General Switched Telephone Network (GSTN) and back again. Shown in FIG. 1 is a typical modem data-pump system diagram.
The hardware that interfaces the data-pump to the GSTN is often referred to as an Analog Front End (AFE) 100. The AFE 100 includes a coder/decoder (codec) 101, which provides analog-to-digital conversion and digital-to-analog signal conversion, and other hardware associated with transmitting and receiving an analog signal on the GSTN. The AFE often includes a buffer 102, a small temporary storage for received data samples and for data samples to be transmitted. When the buffer needs to be serviced, the AFE can signal data-pump unit 103, usually by generating an interrupt. The data-pump unit will respond and provide samples to be transmitted over line 104, accept samples to process that were received over line 104, or both.
The requirement to service the interrupt on time is referred to as a hard real-time requirement. This means that an unacceptable result will occur if the time schedule is not kept. This is due to the fact that, if the line signal is disrupted, the modems"" receiver can fail. This may be true even for relatively short disruptions in the line signal. The processing done in a modem""s receiver, such as adaptive equalization, timing recovery, and carrier recovery, can be upset by disruptions in the line signal. Also, modems often transmit data in a framed format and, if the frame alignment is disrupted, the data may not be received correctly.
The buffer size requirements for the AFE 100 involve a design tradeoff. Large buffers allow the interrupt latency requirement to be relaxed, giving the data-pump more time to respond to the service request, but delay is introduced in the system. Transmission delays are undesirable for some forms of data such as data associated with multimedia applications that transmit voice. Small buffers provide short delays but require interrupts to be serviced promptly or the modem""s transmitter will underrun (run out of samples to transmit) and/or the modem""s receiver will overrun (have too many samples to save in local buffer storage) and the local or remote modems"" receivers may fail.
The U.S. Pat. No. 5,721,830, issued to H. C. Yeh et al on Feb. 24, 1999, describes a modem using a typical buffered system in which a first buffer is being read out, a sample at a time, while a second buffer is being loaded. When the first buffer is empty, samples are transferred from the second buffer to the first buffer. If no new samples are in the second buffer, then the old samples present in the second buffer are transferred to the first buffer and used to generate a line signal.
Repeating old samples is a typical failure mode for systems that do not service the AFE on time. If the sample buffer has not been updated with new samples, then old samples present in the buffer are used by default. The line signal is necessarily distorted by the discontinuity when switching from valid samples to old samples used as a maintenance signal and back again. So the Yeh patent does not fundamentally change the existing art where previously transmitted samples are retransmitted.
Therefore, there is a continuing need in modem design to reduce the undesirable effects at the receiving modem caused by an underrun condition at the transmitting modem.
My invention is directed to a data apparatus (e.g., a modem) which continues to generate an analog line signal acceptable to a remote data apparatus"" receiver when data apparatus software is late in responding to the hardware used to generate the analog line signal.
In accordance with the invention, the data apparatus uses symbols, rather than samples, which are transferred from a data-pump unit to an AFE unit to generate the analog line signal. The AFE implements the conversion from symbols to samples that constitute the signal for transmission, such as implementing the convolution described above.
When the data-pump is late in providing a new set of symbols, the AFE unit uses previous symbols, randomized versions of previous symbols, or some other local source of acceptable symbols to generate a transmit line signal, thus providing an acceptable line signal for the remote-end modem. For many modems this line signal is indistinguishable from a line signal where the underrun did not occur as the pulses, defined by the pulse shaping filter, are not distorted.
While data errors still occur due to transmitting incorrect symbols, data errors are a normal occurrence for a physical-layer data apparatus and a link-layer protocol will detect and retransmit the erred data. The invention avoids transmitting a degraded line signal that can create a failure at the physical-layer. This failure can cause data transmission outages due to the remote data apparatus entering into a rate change, initiating a retrain operation, or terminating the data transmission session, all of which are undesirable.
More specifically, a data apparatus comprises (1) a data-pump unit for converting binary data into data symbols for transmission at a predetermined symbol rate; and (2) an analog unit including (a) a buffer for storing transmit data symbols, (b) a transmitter unit for accessing the stored data symbols from the buffer unit and converting them to a sample signal at a predefined sample rate, (c) a codec for converting the sample signal to an analog line signal for transmission over an analog facility, and (d) an optional underrun data symbol generator to provide data symbols when the buffer unit is empty.